plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
↳ QTRS
↳ DependencyPairsProof
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
ACK(s(x), s(y)) → ACK(s(x), y)
ACK(s(x), s(y)) → ACK(x, plus(y, ack(s(x), y)))
PLUS(x, s(s(y))) → PLUS(s(x), y)
ACK(s(x), s(y)) → PLUS(y, ack(s(x), y))
PLUS(s(s(x)), y) → PLUS(x, s(y))
ACK(s(x), 0) → ACK(x, s(0))
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
ACK(s(x), s(y)) → ACK(s(x), y)
ACK(s(x), s(y)) → ACK(x, plus(y, ack(s(x), y)))
PLUS(x, s(s(y))) → PLUS(s(x), y)
ACK(s(x), s(y)) → PLUS(y, ack(s(x), y))
PLUS(s(s(x)), y) → PLUS(x, s(y))
ACK(s(x), 0) → ACK(x, s(0))
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
ACK(s(x), s(y)) → ACK(x, plus(y, ack(s(x), y)))
ACK(s(x), s(y)) → ACK(s(x), y)
PLUS(x, s(s(y))) → PLUS(s(x), y)
ACK(s(x), s(y)) → PLUS(y, ack(s(x), y))
PLUS(s(s(x)), y) → PLUS(x, s(y))
ACK(s(x), 0) → ACK(x, s(0))
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
PLUS(x, s(s(y))) → PLUS(s(x), y)
PLUS(s(s(x)), y) → PLUS(x, s(y))
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
ACK(s(x), s(y)) → ACK(s(x), y)
ACK(s(x), s(y)) → ACK(x, plus(y, ack(s(x), y)))
ACK(s(x), 0) → ACK(x, s(0))
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK(s(x), s(y)) → ACK(x, plus(y, ack(s(x), y)))
ACK(s(x), 0) → ACK(x, s(0))
Used ordering: Combined order from the following AFS and order.
ACK(s(x), s(y)) → ACK(s(x), y)
ack > s1 > plus2
0 > ACK1 > plus2
0 > s1 > plus2
plus2: [2,1]
s1: [1]
0: multiset
ACK1: [1]
ack: []
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
ACK(s(x), s(y)) → ACK(s(x), y)
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACK(s(x), s(y)) → ACK(s(x), y)
trivial
s1: [1]
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
plus(s(s(x)), y) → s(plus(x, s(y)))
plus(x, s(s(y))) → s(plus(s(x), y))
plus(s(0), y) → s(y)
plus(0, y) → y
ack(0, y) → s(y)
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, plus(y, ack(s(x), y)))